1. Field of the Invention
The present invention relates to a method of and an apparatus for rendering an image to express light rays passing through an object and refracted thereby, i.e., a phenomenon known as refraction, at a high speed with a three-dimensional image, a recording medium which stores a program and data for performing such image processing, and a program for performing such image processing.
2. Description of the Related Art
Recently, various computer graphics (CG) processing techniques including hidden line processing, hidden surface removal, smooth shading, texture mapping, etc. have been in rapid progress in combination with quickly growing hardware technologies.
According to a general CG processing scheme, a plurality of three-dimensional shapes (objects) are generated by three-dimensional modeling of CAD, and a rendering process is performed by applying colors and shades to the objects, adding optical properties including mirror reflection, diffuse reflection, refraction, transparency, etc. to the objects, adding surface patterns to the objects, and plotting images depending on surroundings such as window and scenery reflections and ambient light.
If light rays passing through an object and refracted thereby, for example, are to be expressed as a three-dimensional image, then it is necessary to reproduce such an optical phenomenon. The vector of a light ray that is radiated from a viewpoint is refracted when the light ray enters the object and also when the light ray leaves the object.
In order to express the above phenomenon of refraction with a three-dimensional image, it is customary to employ ray tracing rather than polygons.
According to the ray tracing technique, light rays are traced in a space where an object is placed, and the object is rendered with points of intersection between the light rays and the object. Stated otherwise, the intensity of light rays that arrive at a viewpoint is tracked back from the viewpoint while reproducing reflections and refractions at the surfaces of the object according to the realistic behavior of the light rays.
Specifically, a point of intersection between a light ray from a fixed viewpoint and an object as a displayed pixel is sought, and if there is such a point of intersection, then the light ray as it is reflected or refracted by the object is traced. Information as to the point of intersection is stored as information as to the displayed pixel. The information determined with respect to each pixel represents inherent color characteristics including hue, saturation, and brightness, textures including reflections, refractions, gloss, and luster, or shadows and highlights.
However, the ray tracing technique is disadvantageous in that since the above information is associated with each pixel, the overall amount of information that is required is large, and the time required to perform calculations for ray tracing is long.
It is therefore an object of the present invention to provide a method of and an apparatus for rendering an image, a recording medium, and a program to express light rays passing through an object and refracted thereby at a high speed with a three-dimensional image, for thereby expressing a moving transparent object simply and at a high speed.
According to the present invention, there is provided a method of rendering an image, comprising the steps of rendering surfaces of an object which causes refraction in the order from a surface remotest from a viewpoint, and employing a background image of each of the surfaces as a texture when the surfaces are rendered.
According to the present invention, there is also provided an apparatus for rendering an image, comprising rendering means for rendering surfaces of an object which causes refraction in the order from a surface remotest from a viewpoint, and employing a background image of each of the surfaces as a texture when the surfaces are rendered.
According to the present invention, there is further provided a recording medium storing a program and data, the program comprising the steps of rendering surfaces of an object which causes refraction in the order from a surface remotest from a viewpoint, and employing a background image of each of the surfaces as a texture when the surfaces are rendered.
According to the present invention, there is still further provided a program which can be read and executed by a computer, comprising the steps of rendering surfaces of an object which causes refraction in the order from a surface remotest from a viewpoint, and employing a background image of each of the surfaces as a texture when the surfaces are rendered.
When each surface is to be rendered, since only the background image in each surface is used as a texture image, images can be processed at a high speed. Consequently, light rays passing through an object and refracted thereby can be expressed at a high speed with a three-dimensional image, for thereby expressing a moving transparent object simply and at a high speed.
Preferably, a portion of the background image in a range projected by way of perspective projection with vectors which are directed from the viewpoint toward the background image and take into account refractions at vertexes of the surface is used as the texture when the surface is rendered.
The vectors may be determined based on at least the directions of normals to the surface in a viewpoint coordinate system and the directions of line segments directed from the viewpoint toward the vertexes.
Specifically, the positions of the vertexes as projected onto a uz plane which is made up of a u-axis of the background image and a z-axis of the viewpoint coordinate system are determined, and the coordinates of the vertexes on the u-axis of the background image are determined based on at least the directions of line segments directed from the viewpoint toward the projected positions and the directions of the normals in the uz plane. The positions of the vertexes as projected onto a vz plane which is made up of a v-axis of the background image and the z-axis of the viewpoint coordinate system are determined, and the coordinates of the vertexes on the v-axis of the background image are determined based on at least the directions of line segments directed from the viewpoint toward the projected positions and the directions of the normals in the vz plane.
The background image to be mapped onto the surface can easily be determined, and hence a phenomenon of refraction can be displayed as a three-dimensional image at a high speed.
The above and other objects, features, and advantages of the present invention will become more apparent from the following description when taken in conjunction with the accompanying drawings in which a preferred embodiment of the present invention is shown by way of illustrative example.